package net.xdclass.exception;

import lombok.extern.slf4j.Slf4j;
import net.xdclass.enums.BizCodeEnum;
import net.xdclass.util.JsonData;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@Slf4j
@ControllerAdvice
public class CustomExceptionHandler {
    @ExceptionHandler(value = Exception.class)
    @ResponseBody
    public JsonData handle(Exception e){

       if(e instanceof BizException){
           BizException exception = (BizException)e;
           log.error("业务异常{}",e);
           return JsonData.buildCodeAndMsg(exception.getCode(),exception.getMsg());
       }else{
           log.error("系统异常{}",e);
           return JsonData.buildError("全局异常，未知错误");
       }
    }
}
